package cn.iocoder.yudao.module.wms.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * wms 错误码枚举类
 *
 * wms 系统，使用 1-032-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 仓库管理 1-032-000-000 ==========
    ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1-032-000-000, "仓库信息不存在");
    ErrorCode WAREHOUSE_CODE_EXISTS = new ErrorCode(1-032-000-001, "仓库编号已存在");
    ErrorCode POSITION_NOT_EXISTS = new ErrorCode(1-032-000-002, "库位信息不存在");
    ErrorCode POSITION_CODE_EXISTS = new ErrorCode(1-032-000-003, "库位编号已存在");
    ErrorCode POSITION_NOT_CHANGE = new ErrorCode(1-032-000-004, "库位未开启，不允许变更库位信息");
    ErrorCode WAREHOUSE_USEING = new ErrorCode(1-032-000-005, "仓库使用中，不允许变更");
    ErrorCode POSITION_USEING = new ErrorCode(1-032-000-006, "库位使用中，不允许变更");
    ErrorCode WAREHOUSE_BIND_POSITION = new ErrorCode(1-032-000-007, "仓库下存在库位，不允许变更");
    ErrorCode WAREHOUSE_BIND_PRODUCT = new ErrorCode(1-032-000-010, "仓库已被产品绑定，不允许变更");
    ErrorCode POSITION_BIND_PRODUCT = new ErrorCode(1-032-000-011, "库存已被产品绑定，不允许变更");
    ErrorCode WAREHOUSE_OPEN_POSTION = new ErrorCode(1-032-000-012, "仓库已开启库位，必须选择库位");


    // ========== 通用入库单 1-032-001-000 ==========
    ErrorCode OTHER_IN_NOT_EXISTS = new ErrorCode(1-032-001-000, "其他入库单不存在");
    ErrorCode OTHER_IN_CODE_EXISTS = new ErrorCode(1-032-001-001, "其他入库单单据编号已存在");
    ErrorCode OTHER_IN_NOT_APPROVE = new ErrorCode(1-032-001-002, "当前单据无需审核");
    ErrorCode OTHER_IN_NOT_CANCEL = new ErrorCode(1-032-001-003, "当前单据无需撤审");
    ErrorCode OTHER_IN_NOT_ALLOW_CHANGE = new ErrorCode(1-032-001-004, "当前单据不允许变更");
    ErrorCode OTHER_IN_D_NOT_EXISTS = new ErrorCode(1-032-001-005, "入库单明细不存在");


    // ========== 仓储单据性质 1-032-002-000 ==========
    ErrorCode DOC_NOT_EXISTS = new ErrorCode(1-032-002-000, "单据不存在");
    ErrorCode DOC_CODE_EXISTS = new ErrorCode(1-032-002-001, "单据编号已存在");
    ErrorCode DOC_NO_TYPE_NOT_EXISTS = new ErrorCode(1-032-002-003, "单据编码类型不存在");
    ErrorCode DOC_NO_FAILED = new ErrorCode(1-032-002-004, "单据编号生成失败");

    // ========== 库存 1-032-003-000 ==========
    ErrorCode STOCK_NOT_EXISTS = new ErrorCode(1-032-003-000, "库存信息不存在");
    ErrorCode STOCK_NOT_EMPTY = new ErrorCode(1-032-003-001, "当前产品库存仍有库存，不允许删除，当前结余为：{}");
    ErrorCode STOCK_SHORT_QTY = new ErrorCode(1-032-003-002, "库存不足，当前库存为：{}");

    // ========== 库存明细 1-032-004-000 ==========
    ErrorCode STOCK_DETAIL_NOT_EXISTS = new ErrorCode(1-032-004-000, "库存明细不存在");

    // ========== 库存序列号 1-032-005-000 ==========
    ErrorCode STOCK_SERIAL_NOT_EXISTS = new ErrorCode(1-032-005-000, "库存序列号不存在");

    // ========== 库存处理 1-032-005-000 ==========
    ErrorCode INVENTORY_HANDLER_FAILD = new ErrorCode(1-032-006-000, "库存处理失败：{}");





}
